import {
  reactive,
  readonly,
  shallowReadonly,
  shallowReactive,
} from "./reactive.js";
import { effect } from "./effect.js";

const obj = {};

const arr = reactive([obj]);

effect(() => {
  console.log("副作用函数触发");
  // console.log(arr[0]);
  // console.log(arr[1]);
  // console.log(arr[2]);
  // console.log(arr[3]);
  // console.log(arr.length);
  // for (let i in arr) {
  //   console.log(arr[i]);
  // }
  // for (const item of arr) {
  //   console.log(item);
  // }

  arr.push(1);
});

effect(() => {
  console.log("副作用1函数触发");
  // console.log(arr[0]);
  // console.log(arr[1]);
  // console.log(arr[2]);
  // console.log(arr[3]);
  // console.log(arr.length);
  // for (let i in arr) {
  //   console.log(arr[i]);
  // }
  // for (const item of arr) {
  //   console.log(item);
  // }

  arr.push(3);
});

// console.log(arr[0]);
// console.log(arr.lastIndexOf(obj));

// arr[4] = "xxxx";
// arr.length = 0;
